package com.yuyou.tas.lesson.mapper;

import java.util.List;
import java.util.Map;

import org.apache.ibatis.annotations.Mapper;
import org.apache.ibatis.annotations.Param;


@Mapper
public interface UpGradeDataMapper{
	
	/**
	 * 根据rece_user_id查找（feedback）
	 * @param oldUserId
	 */
	List<Map<String,Object>> findByFdUserId(@Param(value="authOrganizationId")Long authOrganizationId,@Param(value="oldUserId")Long oldUserId);
	
	/**
	 * 查出唯一feedback
	 * @param feedbackClassId
	 * @param newUserId
	 * @return
	 */
	Map<String,Object> select1Fd(@Param(value="feedbackClassId")Long feedbackClassId,
			@Param(value="receUserId")Long receUserId);
	
	/**
	 * 更新（feedback）
	 * 根据id和oldUserId 更新rece_user_id字段
	 */
	void upFdUserIdById(@Param(value="id")Long id,
			@Param(value="receUserId")Long receUserId);
	
	/**
	 * 删除（feedback）
	 * @param id
	 */
	void delFdById(@Param(value="id")Long id);
	
	/**
	 * 更新（feedback）
	 * 根据authOrganizationId和oldUserId 更新rece_user_id字段
	 */
	void upFdUserId(@Param(value="authOrganizationId")Long authOrganizationId,
			@Param(value="oldUserId")Long oldUserId,
			@Param(value="newUserId")Long newUserId);
	
	/*********************************feedback****************************************/	
	
	List<Map<String,Object>> findFdSE(
			@Param(value="authOrganizationId")Long authOrganizationId,
			@Param(value="studentId")Long studentId);
	
	/**
	 * 根据feedback_class_id,student_id查找1（feedback_student_exce）
	 * @param oldUserId
	 */
	Map<String,Object> select1FdSE(
			@Param(value="feedbackClassId")Long feedbackClassId,
			@Param(value="studentId")Long studentId);

	/**
	 * 更新（feedback_student_exce）
	 * 根据authOrganizationId和oldUserId 更新student_id
	 */
	void upFdSEStuIdById(@Param(value="id")Long id,
			@Param(value="newUserId")Long newUserId);
		
	/**
	 * 删除
	 * @param id
	 */
	void delFdSEById(@Param(value="id")Long id);
	
	/**
	 * 更新（feedback_student_exce）
	 * 根据authOrganizationId和oldUserId 更新student_id
	 */
	void upFdSEStuId(@Param(value="authOrganizationId")Long authOrganizationId,
			@Param(value="oldUserId")Long oldUserId,
			@Param(value="newUserId")Long newUserId);
		
	
	
	
	/*******************************feedback_student_exce******************************************/	
	
	
	List<Map<String,Object>> findFdTP(
			@Param(value="authOrganizationId")Long authOrganizationId,
			@Param(value="sendUserId")Long sendUserId);
	
	/**
	 * 根据feedback_class_id,send_user_id,is_praise查找1（feedback_teacher_praise）
	 * @param oldUserId
	 */
	Map<String,Object> select1FdTP(
			@Param(value="feedbackClassId")Long feedbackClassId,
			@Param(value="sendUserId")Long sendUserId,
			@Param(value="isPraise")Integer isPraise);

	/**
	 * 更新（feedback_teacher_praise）
	 * 根据id 更新send_user_id
	 */
	void upFdTPSUserIdById(@Param(value="id")Long id,
			@Param(value="sendUserId")Long sendUserId);
		
	/**
	 * 删除
	 * @param id
	 */
	void delFdTPById(@Param(value="id")Long id);
	
	
	/**
	 * 更新（feedback_teacher_praise）
	 * 根据authOrganizationId和oldUserId 更新send_user_id
	 */
	void upFdTPSUserId(@Param(value="authOrganizationId")Long authOrganizationId,
			@Param(value="oldUserId")Long oldUserId,
			@Param(value="newUserId")Long newUserId);

	
	/********************************feedback_teacher_praise*****************************************/		
	
	/**
	 * 更新（feedback_comment）
	 */
	void upFdCByFdId(
			@Param(value="feedbackId")Long feedbackId,
			@Param(value="userId")Long userId
			);	

	/**
	 * 删除(feedback_comment)
	 * @param id
	 */
	void delFdCByFdId(@Param(value="feedbackId")Long feedbackId);
	
	/**
	 * 更新（feedback_comment）
	 * @param authOrganizationId
	 * @param oldUserId
	 * @param newUserId
	 */
	void upFdCUserId(@Param(value="authOrganizationId")Long authOrganizationId,
			@Param(value="oldUserId")Long oldUserId,
			@Param(value="newUserId")Long newUserId);

	/********************************feedback_comment*****************************************/		
	
	List<Map<String,Object>> findReport(
			@Param(value="authOrganizationId")Long authOrganizationId,
			@Param(value="studentId")Long studentId);
	
	/**
	 * 查找1（exam_model_report）
	 */
	Map<String,Object> select1Report(
			@Param(value="lessonClassId")Long lessonClassId,
			@Param(value="studentId")Long studentId,
			@Param(value="examModelId")Long examModelId);

	/**
	 * 更新（exam_model_report）
	 * 根据id 更新student_id
	 */
	void upReportStuIdById(@Param(value="id")Long id,
			@Param(value="studentId")Long studentId);
		
	/**
	 * 删除
	 * @param id
	 */
	void delReportById(@Param(value="id")Long id);
	
	
	/**
	 * 更新（exam_model_report）
	 * 根据authOrganizationId和oldUserId 更新student_id
	 */
	void upReportStuId(@Param(value="authOrganizationId")Long authOrganizationId,
			@Param(value="oldUserId")Long oldUserId,
			@Param(value="newUserId")Long newUserId);

	/********************************exam_model_report*****************************************/	
	

	/**
	 * 更新（exam_model_report_id）
	 */
	void upReportKnByReport(
			@Param(value="studentId")Long studentId,
			@Param(value="examModelReportId")Long examModelReportId);	

	/**
	 * 根据exam_model_report_id删除(exam_model_report_knowledge_i)
	 * @param id
	 */
	void delReportKnByReportId(@Param(value="examModelReportId")Long examModelReportId);

	
	/**
	 * 更新（exam_model_report_knowledge_i）
	 * 根据authOrganizationId和oldUserId 更新student_id
	 */
	void upReportKnStuId(@Param(value="authOrganizationId")Long authOrganizationId,
			@Param(value="oldUserId")Long oldUserId,
			@Param(value="newUserId")Long newUserId);	
	
	/********************************exam_model_report_knowledge_i*****************************************/		
	
	List<Map<String,Object>> findReportQu(
			@Param(value="authOrganizationId")Long authOrganizationId,
			@Param(value="studentId")Long studentId);
	
	/**
	 * 查找1（exam_model_report_ques）
	 */
	Map<String,Object> select1ReportQu(
			@Param(value="lessonClassId")Long lessonClassId,
			@Param(value="studentId")Long studentId,
			@Param(value="examModelQuesId")Long examModelQuesId);

	/**
	 * 更新（exam_model_report_ques）
	 * 根据id 更新student_id
	 */
	void upReportQuStuIdById(@Param(value="id")Long id,
			@Param(value="newUserId")Long newUserId);
		
	/**
	 * 删除
	 * @param id
	 */
	void delReportQuById(@Param(value="id")Long id);
	
	
	/**
	 * 更新（exam_model_report_ques）
	 * 根据authOrganizationId和oldUserId 更新student_id
	 */
	void upReportQuStuId(@Param(value="authOrganizationId")Long authOrganizationId,
			@Param(value="oldUserId")Long oldUserId,
			@Param(value="newUserId")Long newUserId);
   

	/********************************exam_model_report_ques*****************************************/		
	
}